package com;

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;

public class workDataGenerate {
	private final static String destDir = "src/test/resources/";

	public static void main(String[] args) throws Exception {
		// 生成等价类测试
		testNormalValue();

	}

	public static void testNormalValue() throws Exception // Parameters!
	{

		FileOutputStream fos = new FileOutputStream(destDir + "等价类测试用例.csv");
		OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");
		CSVFormat csvFormat = CSVFormat.DEFAULT.withHeader("用例编号", "a[0][0]", "a[0][1]", "a[0][2]", "a[0][3]",
				"a[0][4]", "a[0][5]", "a[0][6]", "a[0][7]", "a[0][8]", "a[0][9]", "a[0][10]", "a[1][0]", "a[1][1]",
				"a[1][2]", "a[1][3]", "a[1][4]", "a[2][0]", "a[3][0]",  "a[4][0]",
				"a[5][0]",  "a[6][0]",  "a[7][0]", "a[7][1]", "a[7][2]", "a[7][3]", "期望值");// 1+1+5+1+1
		CSVPrinter csvPrinter = new CSVPrinter(osw, csvFormat);
		int[][] a = { { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, // 症状采集
				{ -1, -1, -1, -1, -1 }, // 发烧（2，_,3,2,3,)
				{ -1 }, // 咳痰
				{ -1 }, // 胸闷
				{ -1}, // 气急
				{ -1 }, // 腹泻
				{ -1 }, // 本次不舒服
				{ -1, -1, -1, -1 } };

		a[0][0] = 0;
		a[7][0] = 0;
		// 检测全为0
		csvPrinter.printRecord(1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
				-1, -1, -1, -1, 0, -1, -1, -1, 3);
		int num = 2;
		// 检测仅有接触史等
		for (int i = 1; i < 5; i++) {
			a[7][0] = i;
			csvPrinter.printRecord(num, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
					-1, -1, -1, -1, -1, -1, i, -1, -1, -1,2);
			num++;

		}

		a[7][0] = 1;
		a[7][1] = 2;
		a[7][2] = 3;
		a[7][3] = 4;
		csvPrinter.printRecord(num, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
				-1, -1, -1, -1, -1, 1, 2, 3, 4, 2);
		num++;
		
		
		
		// 检测仅有接触史等，发烧
		a[6][0]=0;
		a[7][0] = 0;
		a[7][1] = -1;
		a[7][2] = -1;
		a[7][3] = -1;
		a[0][0] = 1;
		a[1][0] = 0;//2
		a[1][1] = 373;
		a[1][2] = 0;//3
		a[1][3] = 0;//2
		a[1][4] = 0;//3
			csvPrinter.printRecord(num, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
					0, 373, 0, 0, 0, 
					-1,  
					-1, 
					-1,  
					-1,  
					0, 
					0, -1, -1, -1, 
					1);
			num++;
			
			a[1][0] = 1;//2
			//a[1][1] = 373;
			a[1][2] = 1;//3
			a[1][3] = 1;//2
			a[1][4] = 1;//3
				csvPrinter.printRecord(num, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
						1, 373, 1, 1, 1,
						-1, 
						-1, 
						-1,  
						-1,  
						0, 
						0, -1, -1, -1, 
						1);
				num++;
				a[1][2] = 2;//3
				//a[1][3] = 1;//2
				a[1][4] = 2;//3
					csvPrinter.printRecord(num, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
							1, 373, 2, 1, 2, 
							-1,  
							-1, 
							-1,
							-1, 
							0, 
							0, -1, -1, -1, 1);
					num++;
		
					// 检测仅有接触史等，咳嗽
					a[1][0] = -1;//2
					a[1][1] = -1;
					a[1][2] = -1;//3
					a[1][3] = -1;//2
					a[1][4] = -1;//3
					
					a[0][0] = 3;
					a[2][0] = 0;
						csvPrinter.printRecord(num, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
								-1, -1, -1, -1, -1,
								0,  
								-1, 
								-1,  
								-1, 
								0, 
								0, -1, -1, -1,
								1);
						num++;
						a[2][0] = 1;
						csvPrinter.printRecord(num, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
								-1, -1, -1, -1, -1,
								1,  
								-1, 
								-1,  
								-1, 
								0, 
								0, -1, -1, -1, 
								1);
						num++;
						// 检测仅有接触史等，胸闷
						a[2][0] = -1;
						
						a[0][0] = 6;
						a[3][0] = 0;
							csvPrinter.printRecord(num, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1,
									-1,  
									0, 
									-1,  
									-1, 
									0, 
									0, -1, -1, -1,
									1);
							num++;
							a[3][0] = 1;
							csvPrinter.printRecord(num, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
									-1, -1, -1, -1, -1,
									-1,  
									1, 
									-1,  
									-1, 
									0, 
									0, -1, -1, -1,
									1);
							num++;
							// 检测仅有接触史等，气急
							a[3][0] = -1;
							
							a[0][0] = 7;
							a[4][0] = 0;
								csvPrinter.printRecord(num, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
										-1, -1, -1, -1, -1,
										-1,  
										-1, 
										0,  
										-1, 
										0, 
										0, -1, -1, -1, 
										1);
								num++;
								a[4][0] = 1;
								csvPrinter.printRecord(num, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
										-1, -1, -1, -1, -1,
										-1,  
										-1, 
										1,  
										-1, 
										0, 
										0, -1, -1, -1,
										1);
								num++;
								// 检测仅有接触史等，腹泻
								a[4][0] = -1;
								
								a[0][0] = 11;
								a[5][0] = 0;
									csvPrinter.printRecord(num, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
											-1, -1, -1, -1, -1,
											-1,  
											-1,
											-1, 
											0, 
											0, 
											0, -1, -1, -1, 
											1);
									num++;
									a[5][0] = 1;
									csvPrinter.printRecord(num,11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
											-1, -1, -1, -1, -1,
											-1,  
											-1,   
											-1,
											1, 
											0, 
											0, -1, -1, -1, 
											1);
									num++;
		//测试一个其他病，时间
									a[5][0] = -1;
									a[0][0] = 9;
									a[6][0]=1;
									csvPrinter.printRecord(num,9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
											-1, -1, -1, -1, -1,
											-1,  
											-1,   
											-1,
											-1, 
											1, 
											0, -1, -1, -1,
											1);
									num++;
									//测试一个其他病，时间
									a[7][0]=1;
									csvPrinter.printRecord(num,9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
											-1, -1, -1, -1, -1,
											-1,  
											-1,   
											-1,
											-1, 
											1, 
											1, -1, -1, -1,
											0);
									num++;


		csvPrinter.flush();
		csvPrinter.close();
	}

}
